Digital cameras and other image capture devices use image sensors that comprise a plurality of sensor elements. A Bayer filter is a color filter array (CFA) for arranging RGB color filters on a square grid of sensor elements. The term derives from the name of its inventor, Bryce Bayer of Eastman Kodak, and refers to a particular arrangement of color filters used in most single-chip digital cameras. When a Bayer pattern is used, filtering is provided such that every other pixel collects green light information (“green pixels”) and the pixels of alternating rows of the sensor collect red light information (“red pixels”) and blue light information (“blue pixels”), respectively, in an alternating fashion with pixels that collect green light information.
The raw output of Bayer-filter cameras is referred to as a Bayer Pattern image. Since each pixel is filtered to record only one of the three colors, two-thirds of the color data is missing from each. Demosaicing algorithms estimate missing color information by interpolation of the known color information across different color planes. Many different algorithms exist. Such demosaicing algorithms estimate the missing color information for each given pixel position by evaluating the color information collected by adjacent pixels. For instance, when estimating the red light information for a green pixel, the demosaicing algorithm evaluates red (and potentially blue and green) color information collected by neighboring pixels. Through this process, the missing color information can be interpolated.
Demosaicing is but one image data transformation performed as part of an image processing system. Transformations generally include linear transformations, non-linear transformations, and spatial transformations. Application of image data transformations must account for noise propagation through the image processing system. The Burns and Berns method provides a mechanism for propagating noise covariance through linear and non-linear camera transformations. However, their work did not address the problem of propagating noise covariance through spatial transformations.
Spatial transformations alter the spatial relationships between pixels in an image by mapping locations in an input image to new locations in an output image. Common transformational operations include resizing, rotating, and interactive cropping of images, as well as geometric transformations with arbitrary dimensional arrays. Spatial operations include, but are not limited to demosiacing, edge enhancement or sharpening, linear filtering, and non-linear filtering.